1. Field of the Invention
This invention is in the field of Integrated Circuits (hereafter "ICs") and methods of operation therefore and, more particularly, is an Integrated Circuit (hereafter "IC") having an embedded Read Only Memory (hereafter "ROM") having one or more portions thereof with flawed software stored therein, and embedded patching circuitry to bypass the flawed portions of the ROM and a method of operation therefore.
2. Description of the Related Art
Those skilled in the art are familiar with the use of IC's. In many applications, an IC will have a Digital Signal Processor (hereafter "DSP") core embedded therein for processing data. These DSP cores usually have their software program also embedded "on chip," i.e., on the IC. More specifically, during the fabrication of the IC, a DSP's software program is typically stored into ROM embedded in the IC. Sometimes, during post-production quality assurance checks of the IC, problems are detected in the DSP's software program stored in the embedded ROM. These problems could be the result of the ROM itself, the software stored therein, a combination of these two, or some other potential cause--what's important is that the DSP's software program stored in the embedded ROM is not fully usable by the DSP. At this point there are several options available to avert the flaw.
One option is simply to re-fabricate the IC in order to correct the flaw in the embedded ROM storing the DSP's program software, but obviously this alternative expands overall production time and costs, and therefore it is not desirable. Another option is to make an IC having an embedded DSP, but using an external, rather than an embedded, "on chip" ROM that stores the DSP's program software. Using this approach, if a problem is detected in the DSP's software stored in the external ROM, one can simply make a new external ROM, as opposed to having to remake the entire IC if the DSP's flawed program software were stored in ROM embedded in the IC. This approach has several inherent disadvantages though. Specifically, by storing the DSP's program software in an external ROM, as opposed to one embedded on the IC, longer data access time results in system speed degradation. Also, this approach requires the use of two ICs, namely one having the embedded DSP and another having the external ROM, thereby wasting system space. Therefore this approach, because of its requirement of an additional IC and its slower access time, is unacceptable.
A third approach requires the implementation of a large Random Access Memory (hereafter "RAM") embedded in an IC also having an embedded DSP. This technique has some advantages. First, embedded RAM permits high speed data access by the DSP. Additionally, before running the IC, one can download corrected DSP program software into the large embedded RAM, thereby obviating the need to remanufacture the IC. Moreover, this approach, unlike the previous one, requires only a single IC; however, there are significant disadvantages associated with this technique too. In particular, although data access time of embedded RAM is relatively fast as compared to that for embedded ROM, some time is unnecessarily wasted in the initial loading of the DSP's program software into the embedded RAM. Also, a large embedded RAM takes up much more space on the IC than does embedded ROM, and therefore, this approach also is undesirable.
Therefore, there existed a need to provide an improved IC device and a method of operation therefore, which eludes the disadvantages of prior IC devices. Such an improved IC device would include an embedded DSP, an embedded ROM storing the DSP's program software having one or more flaws therein, a small embedded RAM, and patching circuitry for substituting corrected portions of the DSP's program software loaded into the small embedded RAM for the flawed portions in the embedded ROM.